package com.vhall.component.entity.reward.vo;

import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Data;

import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;

/**
 * @author lsl
 * @since 2021/7/12
 */
@Data
public class RewardDTO implements Serializable {

    /**
     * 主键
     */
    private Long id;

    /**
     * 来源ID
     */
    @JsonProperty(value = "room_id")
    private String roomId;


    /**
     * 打赏接受者ID
     */
    @JsonProperty(value = "receiver_id")
    private String receiverId;


    /**
     * 打赏支付交易流水号
     */
    @JsonProperty(value = "trade_no")
    private String tradeNo;

    /**
     * 打赏金额
     */
    @JsonProperty(value = "reward_amount")
    private BigDecimal rewardAmount;

    /**
     * 打赏者ID
     */
    @JsonProperty(value = "rewarder_id")
    private String rewarderId;

    /**
     * 打赏者昵称
     */
    @JsonProperty(value = "rewarder_nickname")
    private String rewarderNickname;


    /**
     * 打赏者头像
     */
    @JsonProperty(value = "rewarder_avatar")
    private String rewarderAvatar;


    /**
     * 打赏描述信息
     */
    private String describe;


    /**
     * 打赏支付状态：0=等待支付 1=支付成功 2=支付失败
     */
    @JsonProperty(value = "pay_status")
    private Integer payStatus;

    /**
     * 是否已删除 0 表示未删除 1 表示已删除
     */
    private Integer deleted;

    /**
     * 创建时间
     */
    @JsonProperty(value = "created_at")
    private LocalDateTime createdAt;

    /**
     * 更新时间
     */
    @JsonProperty(value = "updated_at")
    private LocalDateTime updatedAt;

    /**
     * 删除时间
     */
    @JsonProperty(value = "deleted_at")
    private LocalDateTime deletedAt;


    @JsonProperty(value = "tpl_id")
    private Long tplId;
}
